草庐IT

c++ - std::vector 和 std::min 行为

全部标签

c - 无法在 Windows 8 上使用 MinGW 执行 execl()

我有一个文件hello.exe,文件路径是D:\test\hello.exe,这是一个简单的helloworld程序(测试ok)。我还有一个程序proc.c,文件路径是D:\test\proc.c,代码如下:#include#include#include#include#include#includemain(intargc,char*argv[]){intret;ret=execl("D:\\test\\hello.exe","D:\\test\\hello.exe");if(ret==-1)printf("%d:\t%s",ret,errno);}程序挂起(windows对话框显

c++ - 这个屏幕截图代码有什么问题?

我在这里找到了一个屏幕捕获代码,但是当我尝试构建它时,它无法构建,所以我自己修复了代码,现在它构建了,但我认为它不起作用,因为在调试VS时说它无法从hBitmap读取(没有数据?)。我是新手程序员,所以我现在真的不知道该怎么做......而且我可能没有正确修复代码......感谢您的帮助。#includeintmain(){//getthedevicecontextofthescreenHDChScreenDC=CreateDC(L"DISPLAY",NULL,NULL,NULL);//andadevicecontexttoputitinHDChMemoryDC=CreateCompa

c - 当询问用户名时getenv返回null?

我想使用stdlib函数getenv()获取用户名,但是我总是得到NULL这是我编写的代码:#include#includemain(){char*hai;printf("ThecurrentUsernameis\n");hai="USER";printf("%s\n",getenv(hai));exit(0);}getenv()返回的值是否取决于您用来编译代码的机器,以及为什么返回值为NULL? 最佳答案 在Windows上,您需要使用getenv("USERNAME")。USER/USERNAME环境变量不是标准化的,除非您自己

c - 有没有办法检测是否按下了某个键?

我正在Windows计算机上的cygwin中编译和执行我的程序。我在C方面经验不足,但我想要一种方法来检测是否按下了一个键而不提示用户(例如我)。我的具有所需功能的伪代码如下所示。charch;while(1){if(KeyBeenPressed()){//akeyhasbeenpressedbeforegettingherech=getKeyPressed();if(ch=='0'){printf("youhavepressed0");}else{printf("youdid'tpresskey0");}}//dootherstuff}我自己在搜索网络后尝试解决这个问题如下所示。#i

c# - 模仿 Windows 默认文件重命名行为的 .Net 方法

在Windows资源管理器中,如果您复制一个文件并且文件名已经存在并且您选择不覆盖该文件,Windows资源管理器将使用特定的文件重命名算法,即它会尝试附加类似“复制”的内容,如果此文件存在时,它会在括号中附加一个数字,然后递增,以防这些文件名也已被占用。请注意,这是该算法的简化版本。实际上它更复杂。由于我不想对这种行为进行逆向工程,是否有可用的c#.Net-Api可以让我在复制或创建文件时直接访问这种行为? 最佳答案 没有。要点主要是这绝对不是Windows标准行为,而是仅在资源管理器中完成(即是这个特定程序执行此操作)。

python - 在 Python/C 中验证 Windows 服务器用户

我想在Python(2.6或2.7)/C代码中对用户进行身份验证。我必须创建一个简单的身份验证模块,它将用户名和密码作为输入并验证用户(例如UNIX的PAM模块)。有什么办法吗? 最佳答案 你在找类似LogonUser的东西吗??,对本地用户进行身份验证,例如:#!python#-*-coding:utf-8-*-fromosimportenvironfromctypesimportwindll,byref,POINTER,FormatError,GetLastErrorfromctypes.wintypesimport(LPCWS

c - 从内核驱动程序到达内核 session 空间

我正在编写一个内核驱动程序,它应该读取(在某些情况下还写入)内核session空间(win32k.sys)中的一些内存地址。我读过另一个主题,例如在Windbg中,我应该将上下文更改为随机用户进程以读取内核session空间的内存(使用.process/p)。我怎样才能在内核驱动程序中做到这一点?我应该创建一个与驱动程序通信的用户进程(这是我现在的想法,但我希望有更好的解决方案)还是有更简单的解决方案? 最佳答案 session空间未映射到系统地址空间(驱动程序共享,如果未附加到任何进程)。这就是为什么您在访问win32k时出现蓝屏

c++ - 调用 system() 的行为与在命令提示符 (cmd) 中的行为不同

我需要通过C++代码将一个文件夹剪切并粘贴到另一个文件夹中。但是有些目录名是有问题的,例如带有日文符号的目录名。但是,通过cmd引入的相同命令都可以正常工作。system("movedirNamedirName2");//worksystem("moveディレクトリdirName2");//doesnotwork(systemcannotfindthespecifiedfile)system("moveディレクトリ.txtdirName2");//work有趣的是,如果带有日文符号的项目是文件而不是文件夹,即使调用system()也能正常运行。我不知道为什么第二次调用system()不

c++ - Windows 上 HANDLE 的来源

我目前正在从事一个项目(C语言),在该项目中我使用了不同的winHANDLE(互斥锁、信号量、线程……)。我的问题是:有没有办法检索HANDLE链接到的内核对象的类型?类似于:Get_HANDLE_source()或Is_thread_HANDLE()?谢谢,干杯! 最佳答案 正如NtQueryObject所说。但使用一些OO概念可能更好:structHandleVtable{/*functionpointertoappropriateimplementation*/};structHandleWrapper{structHandl

c - 打开串口 ANSI C

在过去的几个小时(几天)里,我一直在谷歌上搜索,以找到一个简单的工作示例,说明如何在Windows上的ANSIC中打开串行端口。我尝试打开一个txt文件,通过char方式发送到串口。(如果你能给我一个提示如何延迟1秒按字符发送字符,我也会很高兴!)这是我的代码,但不知何故它不起作用:(FILE*file;file=fopen("text.txt","r");if(file){while((c=getc(file))!=EOF){FILE*fp;fp=open("COM1",O_RDWR|O_NOCTTY|O_NDELAY);if(fp==-1)puts("Couldn'topenpor